<?xml version="1.0" encoding="UTF-8" ?>
<ui:composition xmlns="http://www.w3.org/1999/xhtml"
	xmlns:ui="http://java.sun.com/jsf/facelets"
	xmlns:h="http://java.sun.com/jsf/html"
	xmlns:f="http://java.sun.com/jsf/core"
	xmlns:p="http://primefaces.org/ui"
	template="/WEB-INF/templates/template.xhtml">
	<ui:define name="title">
		<h3><h:outputLabel	value="#{i18n['erp.proveedor.pagina.titulo']}" /></h3>
	</ui:define>
	<ui:define name="content">
		<h:form id="formProveedor">
			<p:growl id="pnlMessages" autoUpdate="true" closable="true"/>
			<p:toolbar id="toolbar">
				<p:toolbarGroup align="left">
					<p:commandButton id="btnRefrescar" value="#{i18n['label.refrescar']}" icon="ui-icon-arrowrefresh-1-w" 
						actionListener="#{proveedorController.refrescarFormulario}" update="pnlMessages,tablaProveedor,pnlBuscarProveedor,toolbar"/>
					<p:commandButton id="btnNuevoProveedor" value="#{i18n['label.insertar']}" icon="ui-icon-disk" oncomplete="dlgNuevoProveedor.show()"/>
					<p:commandButton id="btnExcel" value="#{i18n['label.exportar.excel']}" ajax="false"
						image="exportExcel" disabled="#{empty proveedorDataManager.listaProveedor}">
						<p:dataExporter type="xls" target="tablaProveedor" fileName="proveedores" postProcessor="#{proveedorController.postProcessXLS}"/>
					</p:commandButton>
				</p:toolbarGroup>
			</p:toolbar>
			<p:panel id="pnlBuscarProveedor" header="#{i18n['erp.proveedor.buscar']}">
				<table class="formulario">
					<tr>
						<td width="15%">
							<h:outputLabel for="txtNombre" value="#{i18n['erp.proveedor.nombre']}" /></td>
						<td width="85%">
							<p:inputText id="txtNombre" style="width: 50%" onchange="toUpperCase(this)" onkeypress="toUpperCase(this)"
								onblur="toUpperCase(this)" value="#{proveedorDataManager.proveedorBuscar.provNombre}" />
						</td>
					</tr>
					<tr>
						<td><h:outputLabel for="txtApellido" value="#{i18n['erp.proveedor.apellido']}" /></td>
						<td>
							<p:inputText id="txtApellido" style="width: 50%"
								onchange="toUpperCase(this)" onkeypress="toUpperCase(this)"	onblur="toUpperCase(this)"
								value="#{proveedorDataManager.proveedorBuscar.provApellido}" />
						</td>
					</tr>
					<tr>
						<td><h:outputLabel for="txtCi" value="#{i18n['erp.proveedor.ci']}" /></td>
						<td>
							<p:inputText id="txtCi" style="width: 50%" maxlength="13"
								onkeypress="return soloEnteros(this, event)"
								value="#{proveedorDataManager.proveedorBuscar.provDocumentoIdentificacion}" />
						</td>
					</tr>
					<tr>
						<td><h:outputLabel for="inputEstado" value="#{i18n['label.estado']}"/></td>
						<td>
							<p:selectOneMenu id="inputEstado" style="width: 50%"
								value="#{proveedorDataManager.proveedorBuscar.provEstado}">
								<f:selectItem itemValue="" itemLabel="#{i18n['label.seleccione']}" noSelectionOption="true"/>
								<f:selectItem itemLabel="#{i18n['label.estado.vigente']}" itemValue="#{proveedorDataManager.estadoActivo}"/>
								<f:selectItem itemLabel="#{i18n['label.estado.novigente']}" itemValue="#{proveedorDataManager.estadoInactivo}"/>
							</p:selectOneMenu>
						</td>
					</tr>
				</table>
			</p:panel>
			<p:panel id="botonesBuscar">
				<p:commandButton id="btnBuscar"
					actionListener="#{proveedorController.buscarProveedor}"
					value="#{i18n['label.buscar']}" 
					process="@this,pnlBuscarProveedor"
					update="pnlMessages,tablaProveedor,pnlBuscarProveedor,toolbar" />
				<p:commandButton id="btnLimpiar"
					actionListener="#{proveedorController.limpiarFiltrosBusqueda}"
					value="#{i18n['label.limpiar']}" 
					process="@this,pnlBuscarProveedor" 
					update="pnlMessages,tablaProveedor,pnlBuscarProveedor,toolbar" />
			</p:panel>
			<p:dataTable id="tablaProveedor"
				value="#{proveedorDataManager.listaProveedor}"
				var="proveedor" rowIndexVar="rowIndex"
				paginator="true" rows="5" paginatorPosition="bottom"
				paginatorTemplate="{CurrentPageReport}  {FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink} {RowsPerPageDropdown}"
				rowsPerPageTemplate="5,10,15">
				<f:facet name="header">
					<h:outputText value="#{i18n['erp.proveedor.lista']}" />
				</f:facet>
				<p:column styleClass="centered" width="5%">
					<f:facet name="header">
						<h:outputText value="#" />
					</f:facet>
					<h:outputText value="#{rowIndex+1}" />
				</p:column>
				<p:column width="15%">
					<f:facet name="header">
						<h:outputText value="#{i18n['erp.proveedor.nombre']}" />
					</f:facet>
					<h:outputText value="#{proveedor.provNombre}" />
				</p:column>
				<p:column width="15%">
					<f:facet name="header">
						<h:outputText value="#{i18n['erp.proveedor.apellido']}" />
					</f:facet>
					<h:outputText value="#{proveedor.provApellido}" />
				</p:column>
				<p:column width="10%">
					<f:facet name="header">
						<h:outputText value="#{i18n['erp.proveedor.ci']}" />
					</f:facet>
					<h:outputText value="#{proveedor.provDocumentoIdentificacion}" />
				</p:column>
				<p:column width="10%">
					<f:facet name="header">
						<h:outputText value="#{i18n['erp.proveedor.telefono']}" />
					</f:facet>
					<h:outputText value="#{proveedor.provTelefono}" />
				</p:column>
				<p:column width="20%">
					<f:facet name="header">
						<h:outputText value="#{i18n['label.email']}" />
					</f:facet>
					<h:outputText value="#{proveedor.provEmail}" />
				</p:column>
				<p:column styleClass="centered" width="10%">
					<f:facet name="header">
						<h:outputText value="#{i18n['label.estado']}" />
					</f:facet>
					<h:outputText value="#{i18n['label.estado.vigente']}"
						rendered="#{proveedor.provEstado eq proveedorDataManager.estadoActivo}" />
					<h:outputText value="#{i18n['label.estado.novigente']}"
						rendered="#{proveedor.provEstado eq proveedorDataManager.estadoInactivo}" />
				</p:column>
				<p:column headerText="#{i18n['label.opciones']}" styleClass="centered" width="10%" exportable="false">
					<h:panelGroup>
						<p:commandLink styleClass="no-decor"
							process="@this" update=":formEditarProveedor:pnlEditarProveedor"
							oncomplete="dlgEditarProveedor.show()"
							title="#{i18n['label.editar']}">
							<h:graphicImage value="/resources/img/edit.png" alt="#{i18n['label.editar']}"/>
							<f:setPropertyActionListener target="#{proveedorDataManager.proveedorEditar}" value="#{proveedor}" />
						</p:commandLink>
					</h:panelGroup>
					<h:panelGroup>
						<h:outputText value="&#160;|&#160;" />
					</h:panelGroup>
					<!-- desactivar proveedor -->
					<h:panelGroup>
						<p:commandLink styleClass="no-decor"
							title="#{i18n['label.activar']}"
							oncomplete="dlgActivar.show()"
							rendered="#{proveedor.provEstado eq proveedorDataManager.estadoInactivo}">
							<h:graphicImage value="/resources/img/tick.png" alt="#{i18n['label.activar']}"/>
							<f:setPropertyActionListener target="#{proveedorDataManager.proveedorEditar}" value="#{proveedor}" />
						</p:commandLink>
					</h:panelGroup>
					<!-- desactivar proveedor -->
					<h:panelGroup>
						<p:commandLink styleClass="no-decor"
							title="#{i18n['label.desabilitar']}"
							oncomplete="dlgDesactivar.show()"
							rendered="#{proveedor.provEstado eq proveedorDataManager.estadoActivo}">
							<h:graphicImage value="/resources/img/delete.png" alt="#{i18n['label.desabilitar']}"/>
							<f:setPropertyActionListener target="#{proveedorDataManager.proveedorEditar}" value="#{proveedor}" />
						</p:commandLink>
					</h:panelGroup>
				</p:column>
			</p:dataTable>
			
			<!-- Desactivar proveedor -->
			<p:confirmDialog id="dialogDesactivar" width="400" widgetVar="dlgDesactivar"
				message="#{i18n['erp.proveedor.desactivar.pregunta.confirmacion']}"
				header="#{i18n['erp.proveedor.desactivar']}" appendTo="@(body)">
				<p:commandButton value="#{i18n['label.aceptar']}"
					actionListener="#{proveedorController.desactivarProveedor}"
					oncomplete="dlgDesactivar.hide()"
					update="pnlMessages,tablaProveedor" process="@this"
					styleClass="ui-confirmdialog-yes" icon="ui-icon-check" />
				<p:commandButton value="#{i18n['label.cancelar']}" type="button" 
					onclick="dlgDesactivar.hide()" styleClass="ui-confirmdialog-no" icon="ui-icon-close" />
			</p:confirmDialog>
			
			<!-- Activar proveedor -->
			<p:confirmDialog id="dialogActivar" width="400" widgetVar="dlgActivar"
				message="#{i18n['erp.proveedor.activar.pregunta.confirmacion']}"
				header="#{i18n['erp.proveedor.activar']}" appendTo="@(body)">
				<p:commandButton value="#{i18n['label.aceptar']}"
					actionListener="#{proveedorController.activarProveedor}"
					oncomplete="dlgActivar.hide()"
					update="pnlMessages,tablaProveedor" process="@this"
					styleClass="ui-confirmdialog-yes" icon="ui-icon-check" />
				<p:commandButton value="#{i18n['label.cancelar']}" type="button" 
					onclick="dlgActivar.hide()" styleClass="ui-confirmdialog-no" icon="ui-icon-close" />
			</p:confirmDialog>
			
		</h:form>
		
		<ui:include src="dialogNuevoProveedor.xhtml" />
		<ui:include src="dialogEditarProveedor.xhtml" />
		
	</ui:define>
</ui:composition>